#ifndef __OOGANIZERPLUGIN_IMPL_H__
#define __OOGANIZERPLUGIN_IMPL_H__

#include "IOoganizerPlugin.h"
#include "nsStringAPI.h"
#include "nsCOMPtr.h"
#include "nsIServiceManager.h"
#include "nsXPCOM.h"
#include "appshell\nsIWindowMediator.h"
#include "dom\nsIDOMWindowInternal.h"
#include "windows.h"

#define OOGANIZERPLUGIN_CONTRACTID "@Ooganizer.com/OoganizerPlugin;1"
#define OOGANIZERPLUGIN_CLASSNAME "OoganizerPlugin"
// {E914D8EA-F24B-417d-BFB9-7E445F52497F} - Component guid different than Interface guid
#define OOGANIZERPLUGIN_CID { 0xe914d8ea, 0xf24b, 0x417d, { 0xbf, 0xb9, 0x7e, 0x44, 0x5f, 0x52, 0x49, 0x7f } }

class OoganizerPlugin : public IOoganizerPlugin
{
public:
	NS_DECL_ISUPPORTS
	NS_DECL_IOOGANIZERPLUGIN

	OoganizerPlugin();

private:
	~OoganizerPlugin();

protected:
	/* additional members */
	nsString mName;

	/* main handlers initialized in the constructor*/
	nsCOMPtr<nsIServiceManager> m_servMan;
	nsCOMPtr<nsIWindowMediator> m_windowMediator;	
};

#endif